import { NestFactory } from '@nestjs/core';
import { AppModule } from './module/app.module';
import{GlobalInterceptors} from './interceptor/transform.interceptor'
import{HttpExceptionFilter} from './filters/http-execption.filter'
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';

// 应用程序入口文件。它使用 NestFactory 用来创建 Nest 应用实例
// 包含一个异步函数，它负责引导我们的应用程序
async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  const options = new DocumentBuilder()
  .setTitle('node接口文档')
  .setDescription('个人nodejs快速接口')
  .setVersion('1.0.0')
  .build();

  // 设置swagger-ui
  const document = SwaggerModule.createDocument(app, options);
  SwaggerModule.setup('/api', app, document);
  //注册全局返回体restful风格
  app.useGlobalInterceptors(new GlobalInterceptors())
  //注册全局异常
  app.useGlobalFilters(new HttpExceptionFilter())
  // web端口监听为3000
  await app.listen(3000);
}
bootstrap();
